// app.js
App({
  onLaunch: function () {
    // 初始化云开发环境
    wx.cloud.init({
      env: 'cloud1-4gqhfnygcb2802b7', 
      traceUser: true, // 开启用户追踪，会自动创建匿名用户
    });

    // 1. 调用云函数进行登录
    wx.cloud.callFunction({
      name: 'login', // 调用名为 'login' 的云函数
      data: {},
    }).then(res => {
      // 2. 登录成功，res.result 中包含用户身份信息
      console.log('【云开发登录成功】', res.result);
      const { openid, appid, unionid, isAnonymous } = res.result;

      // 3. 将 openid 等信息存入全局变量或缓存
      this.globalData.openid = openid;
      this.globalData.isAnonymous = isAnonymous; // 是否是匿名用户

      console.log('用户唯一OpenID:', openid);

      // 4. 你可以根据 openid 去数据库查询或创建用户记录
      const db = wx.cloud.database();
      db.collection('users').where({
        _openid: openid // 云数据库每个记录默认带 _openid 字段，指向创建它的用户
      }).get().then(queryRes => {
        if (queryRes.data.length === 0) {
          // 新用户，在数据库中创建一条记录
          db.collection('users').add({
            data: {
              // 不需要手动添加 _openid，云开发会自动添加 
              name: '匿名用户',
              time: db.serverDate(), // 使用服务端时间
              picurl:'',
              friend:[{id:this.globalData.openid,name:"匿名用户",type:"geter"}],
              isAnonymous: isAnonymous
            }
          }).then(addRes => {
            console.log('新用户记录已创建', addRes);
          })
        } else {
          // 老用户
          console.log('老用户数据:', queryRes.data[0]);
        }
      })

    }).catch(err => {
      console.error('【登录失败】', err);
    });
  },
  globalData: {
    openid: null
  }
})